<?php
@include("php/funciones.php");
function ingresar_or($_POST) {
	
	//AGREGAR NUEVO OR
	$bd = new DB();
	
	//OBTIENE TODAS LAS VARIABLES OBTENIDAS POR $_POST
	foreach($_POST as $nombre_campo => $valor){ 
		$asignacion = "\$" . $nombre_campo . "='" . $valor . "';"; 
		eval($asignacion);
	}
	
	
	if($tipo_orden==2)
	{
	$total = 0;
	for($i=1;$i<=$num_registros;$i++){
			$total_1 = $_POST['total_'.$i];
			@$total_1 = str_replace(".", "", $total_1);
			if(!empty($total_1)){
				$total = $total + $total_1;
			}
	}
	@$disponible = str_replace(".", "", $disponible);
	if($total>$disponible){
			$mensaje = '<div class="notice error">';
			$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
			$mensaje .= 'Error NO Se Completo Su Solicitud, Saldo Disponible Insuficiente';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
			return $mensaje;
		}
	}
	
	if($tipo_orden==1)
	{
	$total = 0;
	for($i=1;$i<=$num_registros_2;$i++){
			$total_1 = $_POST['total_personal'.$i];
			@$total_1 = str_replace(".", "", $total_1);
			if(!empty($total_1)){
				$total = $total + $total_1;
			}
	}
	@$disponible = str_replace(".", "", $disponible);
	if($total>$disponible){
			$mensaje = '<div class="notice error">';
			$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
			$mensaje .= 'Error NO Se Completo Su Solicitud, Saldo Disponible Insuficiente';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
			return $mensaje;
		}
	}
	
	//ID DE ORDEN DE REQUERIMIENTO
	$id_orden = id_disponible("id_orden","orden_requerimiento");

	if(isset($_FILES['ttr']) || isset($_FILES['base']) || isset($_FILES['otros'])){
		//SI LOS DOCUMENTOS SON TTR
		if(isset($_FILES['ttr'])){
        	foreach ($_FILES['ttr']['error'] as $key => $error) {
           		if ($error == UPLOAD_ERR_OK) {
                	echo @$error_codes[$error];
					$directorio = 'archivos/orden_requerimiento/ttr/';
					$tipo = "TTR";
					$nombre = md5($_FILES['ttr']['name'][$key]);
					$extension = $nombre.".".end(explode('.' , $_FILES['ttr']['name'][$key]));
                	if(move_uploaded_file($_FILES["ttr"]["tmp_name"][$key],$directorio.$extension)){ 
						$id = id_disponible("id_documento_or","documentos_orden_requerimiento");        			
						$insert_documentos_almacenados = $bd->query("INSERT INTO documentos_orden_requerimiento (id_documento_or,tipo_documento_or,nombre_documento_or,id_orden) VALUES('$id','$tipo','$extension','$id_orden')",OBJ);
					}
				}
        	}
		}
		
		//SI LOS DOCUMENTOS SON BASE
		if(isset($_FILES['base'])){
        	foreach ($_FILES['base']['error'] as $key => $error) {
           		if ($error == UPLOAD_ERR_OK) {
                	echo @$error_codes[$error];
					$directorio = 'archivos/orden_requerimiento/base/';
					$tipo = "Base";
					$nombre = md5($_FILES['base']['name'][$key]);
					$extension = $nombre.".".end(explode('.' , $_FILES['base']['name'][$key]));
                	if(move_uploaded_file($_FILES["base"]["tmp_name"][$key],$directorio.$extension)){ 
						$id = id_disponible("id_documento_or","documentos_orden_requerimiento");        			
						$insert_documentos_almacenados = $bd->query("INSERT INTO documentos_orden_requerimiento (id_documento_or,tipo_documento_or,nombre_documento_or,id_orden) VALUES('$id','$tipo','$extension','$id_orden')",OBJ);
					}
				}
        	}
		}
		
		//SI LOS DOCUMENTOS SON OTROS
		if(isset($_FILES['otros'])){
        	foreach ($_FILES['otros']['error'] as $key => $error) {
           		if ($error == UPLOAD_ERR_OK) {
                	echo @$error_codes[$error];
					$directorio = 'archivos/orden_requerimiento/otros/';
					$tipo = "Otros";
					$nombre = md5($_FILES['otros']['name'][$key]);
					$extension = $nombre.".".end(explode('.' , $_FILES['otros']['name'][$key]));
                	if(move_uploaded_file($_FILES["otros"]["tmp_name"][$key],$directorio.$extension)){ 
						$id = id_disponible("id_documento_or","documentos_orden_requerimiento");        			
						$insert_documentos_almacenados = $bd->query("INSERT INTO documentos_orden_requerimiento (id_documento_or,tipo_documento_or,nombre_documento_or,id_orden) VALUES('$id','$tipo','$extension','$id_orden')",OBJ);
					}
				}
        	}
		}
	}
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	//////ORDEN ARTICULOS////////////////
	//////////////////////////////////////////////
	//////////////////////////////////////////////

	if($tipo_orden==2)
	{


	//INSERTA EN ORDEN REQUERIMIENTO EN ESTADO EJECUCION
	$insert_orden = $bd->query("INSERT INTO orden_requerimiento (id_orden,codigo_orden,id_tipo_orden,id_estado_or,id_acc_n,id_est,id_periodo,id_tipo_user,id_paso) VALUES('$id_orden','$codigo_orden','$tipo_orden','1','$id_accion',".$_SESSION['establecimiento'].",".$_SESSION['periodo'].",".$_SESSION['tipo'].",'11')", OBJ);
		
	//INSERTA ORDEN DE REQUERIMIENTO DETALLE
	//SI INGRESO LA OR INGRESA EL DETALLE
	if($insert_orden->affected_rows > 0){
		$ids_detalle_orden = array();
		for($i=1;$i<=$num_registros;$i++){
			$id_detalle_orden = id_disponible("id_detalle_or","detalle_orden_requerimiento");
			$ids_detalle_orden[$i] = $id_detalle_orden;
			$cantidad_1 = $_POST['cantidad_'.$i];
			$descripcion_1 = $_POST['descripcion_'.$i];
			$unitario_1 = $_POST['unitario_'.$i];
			$total_1 = $_POST['total_'.$i];
			if(!empty($cantidad_1) && !empty($descripcion_1) && !empty($unitario_1) && !empty($total_1)){
				$insert_detalle_orden = $bd->query("INSERT INTO detalle_orden_requerimiento (id_detalle_or,cantidad_detalle_or,descripcion_detalle_or,valor_unitario_detalle_or,valor_total_detalle_or,id_orden) VALUES ('$id_detalle_orden','$cantidad_1','$descripcion_1','$unitario_1','$total_1','$id_orden')",OBJ);
				$mensaje = TRUE;
			}
		}
	}

	//REGISTRA LA OR EN LA TABLA DE REGISTROS Y ESTADOS
	@$fecha = date("d-m-Y");
	date_default_timezone_set("Chile/Continental");
	$hora = date ("H:i",time());
	if($insert_detalle_orden->affected_rows > 0){
		for($i=1;$i<=$num_registros;$i++){
			$id_registro = id_disponible("id_registro_or","registro_orden_requerimiento");
			if(!empty($cantidad_1) && !empty($descripcion_1) && !empty($unitario_1) && !empty($total_1)){
				$insert_registro_orden = $bd->query("INSERT INTO registro_orden_requerimiento (id_registro_or,fecha_registro_or,hora_registro_or,id_acc_n,id_orden,id_detalle_or,id_estado_or,id_tipo_orden,id_est,id_sesion) VALUES ('$id_registro','$fecha','$hora','$id_accion','$id_orden','".$ids_detalle_orden[$i]."','1','$tipo_orden.','".$_SESSION['establecimiento']."','".$_SESSION['usuario']."')",OBJ);
				$mensaje = TRUE;
			}
		}
	}
	$id_historial = id_disponible("id_historial","historial_orden_requerimiento");
	$insert_historial_orden = $bd->query("INSERT INTO historial_orden_requerimiento (id_historial,comentarios_historial,fecha_historial,hora_historial,id_acc_n,id_orden,id_estado_or,id_tipo_orden,id_est,id_sesion) VALUES ('$id_historial','Orden Creada','$fecha','$hora','$id_accion','$id_orden','1','$tipo_orden.','".$_SESSION['establecimiento']."','".$_SESSION['usuario']."')",OBJ);

	//VALIDA QUE TODOS LOS DATOS FUERON INGRESADOS CORRECTAMENTE SINO ELIMINA TODOS LOS INSERT HECHOS
	if(($insert_orden->affected_rows == 0) || ($insert_detalle_orden->affected_rows == 0) || ($insert_registro_orden->affected_rows == 0)){
		$delete_documentos = $bd->query("DELETE FROM documentos_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_historial = $bd->query("DELETE FROM historial_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_registro_orden = $bd->query("DELETE FROM registro_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_detalle_orden = $bd->query("DELETE FROM detalle_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_orden = $bd->query("DELETE FROM orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$mensaje = FALSE;
	}


		if($mensaje)
		{
			$mensaje = '<div class="notice success">';
			$mensaje .= '<span class="icon medium" data-icon="C" style="display: inline-block;"></span>';
			$mensaje .= 'Nueva Orden de Requerimiento Agregada Correctamente';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
		} else {
			$mensaje = '<div class="notice error">';
			$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
			$mensaje .= 'Error NO Se Completo Su Solicitud';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
		}
		return $mensaje;
	}

	//////////////////////////////////////////////
	//////////////////////////////////////////////
	//////////////////////////////////////////////
	//////ORDEN PERSONAL////////////////
	//////////////////////////////////////////////
	//////////////////////////////////////////////

	if($tipo_orden==1)
	{

	//INSERTA EN ORDEN REQUERIMIENTO EN ESTADO EJECUCION
	$insert_orden = $bd->query("INSERT INTO orden_requerimiento (id_orden,codigo_orden,id_tipo_orden,id_estado_or,id_acc_n,id_est,id_periodo,id_tipo_user,id_paso) VALUES('$id_orden','$codigo_orden','$tipo_orden','1','$id_accion',".$_SESSION['establecimiento'].",".$_SESSION['periodo'].",".$_SESSION['tipo'].",'11')", OBJ);
		
	//INSERTA ORDEN DE REQUERIMIENTO DETALLE
	//SI INGRESO LA OR INGRESA EL DETALLE
	if($insert_orden->affected_rows > 0){
		$ids_detalle_personal = array();
		for($i=1;$i<=$num_registros_2;$i++){
			$id_detalle_orden = id_disponible("id_detalle_or_personal","detalle_orden_requerimiento_personal");
			$ids_detalle_personal[$i] = $id_detalle_orden;
			$cantidad = $_POST['cantidad_personal_'.$i];
			$descripcion = $_POST['descripcion_personal_'.$i];
			$detalle = $_POST['detalle_personal_'.$i];
			$desde = $_POST['desde_personal_'.$i];
			$hasta = $_POST['hasta_personal_'.$i];
			$horas = $_POST['horas_personal_'.$i];
			$horas_total = $_POST['horas_total_personal'.$i];
			$valor = $_POST['valor_personal'.$i];
			$total = $_POST['total_personal'.$i];
			$modalidad = $_POST['modalidad_'.$i];
			if(!empty($cantidad) && !empty($descripcion) && !empty($detalle) && !empty($desde) && !empty($hasta) && !empty($horas) && !empty($horas_total) && !empty($valor) && !empty($total)){
				$insert_detalle_orden = $bd->query("INSERT INTO detalle_orden_requerimiento_personal(id_detalle_or_personal,cantidad_detalle_or_personal, descripcion_detalle_or_personal, detalle_detalle_or_personal,inicio_detalle_or_personal, fin_detalle_or_personal, semanales_detalle_or_personal, totales_detalle_or_personal, valor_hora_detalle_or_personal, valor_total_detalle_or_personal, id_modalidad, id_orden) VALUES ('$id_detalle_orden','$cantidad','$descripcion','$detalle','$desde','$hasta','$horas','$horas_total','$valor','$total','$modalidad',$id_orden)",OBJ);
				$mensaje = TRUE;
			}
		}
	}

	//REGISTRA LA OR EN LA TABLA DE REGISTROS Y ESTADOS
	@$fecha = date("d-m-Y");
	date_default_timezone_set("Chile/Continental");
	$hora = date ("H:i",time());
	if($insert_detalle_orden->affected_rows > 0){
		for($i=1;$i<=$num_registros_2;$i++){
			$id_registro = id_disponible("id_or_personal","registro_orden_requerimiento_personal");
			if(!empty($cantidad) && !empty($descripcion) && !empty($detalle) && !empty($desde) && !empty($hasta) && !empty($horas) && !empty($horas_total) && !empty($valor) && !empty($total)){
				$insert_registro_orden = $bd->query("INSERT INTO registro_orden_requerimiento_personal (id_or_personal,fecha_or_personal,hora_or_personal,id_acc_n,id_orden,id_detalle_or_personal,id_estado_or,id_tipo_orden,id_est,id_sesion) VALUES ('$id_registro','$fecha','$hora','$id_accion','$id_orden','".$ids_detalle_personal[$i]."','1','$tipo_orden.','".$_SESSION['establecimiento']."','".$_SESSION['usuario']."')",OBJ);
				$mensaje = TRUE;
			}
		}
	}
	$id_historial = id_disponible("id_historial","historial_orden_requerimiento");
	$insert_historial_orden = $bd->query("INSERT INTO historial_orden_requerimiento (id_historial,comentarios_historial,fecha_historial,hora_historial,id_acc_n,id_orden,id_estado_or,id_tipo_orden,id_est,id_sesion) VALUES ('$id_historial','Orden Creada','$fecha','$hora','$id_accion','$id_orden','1','$tipo_orden.','".$_SESSION['establecimiento']."','".$_SESSION['usuario']."')",OBJ);


	//VALIDA QUE TODOS LOS DATOS FUERON INGRESADOS CORRECTAMENTE SINO ELIMINA TODOS LOS INSERT HECHOS
	if(($insert_orden->affected_rows == 0) || ($insert_detalle_orden->affected_rows == 0) || ($insert_registro_orden->affected_rows == 0)){
		$delete_historial = $bd->query("DELETE FROM historial_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_documentos = $bd->query("DELETE FROM documentos_orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$delete_registro_orden = $bd->query("DELETE FROM registro_orden_requerimiento_personal WHERE id_orden = '$id_orden'", OBJ);
		$delete_detalle_orden = $bd->query("DELETE FROM detalle_orden_requerimiento_personal WHERE id_orden = '$id_orden'", OBJ);
		$delete_orden = $bd->query("DELETE FROM orden_requerimiento WHERE id_orden = '$id_orden'", OBJ);
		$mensaje = FALSE;
	}


		if($mensaje)
		{
			$mensaje = '<div class="notice success">';
			$mensaje .= '<span class="icon medium" data-icon="C" style="display: inline-block;"></span>';
			$mensaje .= 'Nueva Orden de Requerimiento Agregada Correctamente';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
		} else {
			$mensaje = '<div class="notice error">';
			$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
			$mensaje .= 'Error NO Se Completo Su Solicitud';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
		}
		return $mensaje;
	}
}


function eliminar_recursos($_POST) {
		//ELIMINAR ingresos

		$bd = new DB();

		//OBTIENE TODAS LAS VARIABLES OBTENIDAS POR $_POST
		foreach($_POST as $nombre_campo => $valor){ 
			$asignacion = "\$" . $nombre_campo . "='" . $valor . "';"; 
			eval($asignacion);
		}

		///////////////////////////////////////////////
		///////////////////////////////////////////////
		///////////////////////////////////////////////
		///////////////////////////////////////////////
		//ATENCION FALTA VALIDAR QUE NO EXISTAN DATOS RELACIONADOS PARA PODER ELIMINAR
		//POR ESO SE DEJA PROVISORIAMENTE $APROBAR_ELIMINAR EN TRUE
		//@$aprobar_eliminar = valida_eliminar($id_tramo,"id_tramos","alumnos_prioritarios");
		///////////////////////////////////////////////
		///////////////////////////////////////////////
		///////////////////////////////////////////////
		///////////////////////////////////////////////
		$aprobar_eliminar = TRUE;

		if($aprobar_eliminar)
		{
			@$eliminar_documentos = $bd->query("DELETE FROM documentos_ingreso WHERE id_ing='$id_ing'", OBJ);
			@$detalle_ingreso = $bd->query("DELETE FROM detalle_ingreso WHERE id_ing='$id_ing'", OBJ);
			@$eliminar_periodo = $bd->query("DELETE FROM ingresos WHERE id_ing='$id_ing'", OBJ);
			if($eliminar_periodo->affected_rows > 0)
			{
				$mensaje = '<div class="notice success">';
				$mensaje .= '<span class="icon medium" data-icon="C" style="display: inline-block;"></span>';
				$mensaje .= 'Ingreso Eliminado Correctamente';
				$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
				$mensaje .= '</div>';
				return $mensaje;
			} else {
				$mensaje = '<div class="notice error">';
				$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
				$mensaje .= 'Error NO Se Completo Su Solicitud';
				$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
				$mensaje .= '</div>';
				return $mensaje;
			}
		} else {
			$mensaje = '<div class="notice error">';
			$mensaje .= '<span class="icon medium" data-icon="X" style="display: inline-block;"></span>';
			$mensaje .= 'Error NO Se Pudo Eliminar El Periodo, Existen Datos Relacionados a Este Periodo';
			$mensaje .= '<a href="#close" class="icon close" data-icon="x" style="display: inline-block;"></a>';
			$mensaje .= '</div>';
		}
			return $mensaje;
}
?>